Software defined networking (SDN) is an approach to using open protocols, such as OpenFlow, to apply globally aware software control at the edges of the network to access network switches and routers that typically would use closed and proprietary firmware. OpenFlow is a programmable network protocol designed to manage and direct traffic among routers and switches from various vendors. It separates the programming of routers and switches from underlying hardware. The technology consists of three parts: flow tables installed on switches, a controller and a proprietary OpenFlow protocol for the controller to talk securely with switches. Flow tables are set up on switches. Controllers talk to the switches via the OpenFlow protocol and impose policies on flows. The controller could set up paths through the network optimized for specific characteristics, such as speed, fewest number of hops or reduced latency. So, for example, a simple flow might be defined as any traffic from a given Internet Protocol (IP) address. The rule governing it might be to route the flow through a given switch port. With its knowledge of the network, the controller could set up paths through the network optimized for speed, fewest number of hops or reduced latency, among other characteristics.
OpenFlow provides an open way to establish connectivity between a controller and a node in an SDN environment. IP connectivity is assumed before the controller can configure and set up the node. Before this configuration can happen a node and controller need to discover each other. Without the controller discovering the OpenFlow node, the controller cannot configure the node and without the node discovering a controller in the OpenFlow Network, the node cannot start to establish a connection with the controller.
Most of the present state of the art centers on topology discovery by the controller and also by using standard mechanisms such as Dynamic Host Configuration Protocol (DHCP) for example. For this to work the switches should support DHCP and if the DHCP servers are beyond a routed subnet DHCP relays need to be present. Further, DHCP is a broadcast based service discovery protocol, which limits its scalability in large networks due to the increase in required overhead. Moreover, current mechanisms address Controller discovery only when the IP connectivity has been established between the switch and the controller(s).
Accordingly, there is a need for systems, apparatus, and methods that improve upon conventional approaches including the improved methods, system and apparatus provided hereby.